package com.aiapphub.BaseCode.constants;

public enum AppHttpCodeEnum {
    // 成功状态码
    SUCCESS(200,"操作成功"),
    CREATED(201, "创建成功"),
    ACCEPTED(202, "请求已接受"),
    NO_CONTENT(204, "请求已成功处理，但无返回内容"),

    // 客户端错误状态码
    BAD_REQUEST(400, "请求参数错误"),
    NEED_LOGIN(401,"需要登录后操作"),
    NO_OPERATOR_AUTH(403,"无权限操作"),
    NOT_FOUND(404, "请求资源不存在"),
    METHOD_NOT_ALLOWED(405, "请求方法不支持"),
    UNSUPPORTED_MEDIA_TYPE(415, "请求媒体类型不支持"),
    TOO_MANY_REQUESTS(429, "请求过于频繁，请稍后再试"),

    TOKEN_INVALID(401, "Token 令牌无效"),
    TOKEN_SUCCESS(100000001, "Token 获取成功"),

    // 服务器错误状态码
    INTERNAL_SERVER_ERROR(500,"出现错误"),
    NOT_IMPLEMENTED(501, "请求未实现"),
    SERVICE_UNAVAILABLE(503, "服务不可用"),
    GATEWAY_TIMEOUT(504, "网关超时"),
    UPDATE_FAIL(506, "操作失败"),

    // 业务错误状态码
    USERNAME_EXIST(1001,"用户名已存在"),
    PHONENUMBER_EXIST(1002,"手机号已存在"),
    EMAIL_EXIST(1003, "邮箱已存在"),
    REQUIRE_USERNAME(1004, "必需填写用户名"),
    LOGIN_ERROR(1005,"用户名或密码错误"),
    USER_NOT_FOUND(1006,"用户名不存在"),
    FORMAL_ERROR(1007,"文件格式错误");




    int code; // 状态码
    String msg; // 错误信息

    /**
     * 构造函数，初始化枚举值
     * @param code 状态码
     * @param errorMessage 错误信息
     */
    AppHttpCodeEnum(int code, String errorMessage){
        this.code = code;
        this.msg = errorMessage;
    }

    /**
     * 获取状态码
     * @return 状态码
     */
    public int getCode() {
        return code;
    }

    /**
     * 获取错误信息
     * @return 错误信息
     */
    public String getMsg() {
        return msg;
    }
}